#ifndef SOUND_H_
#include <iostream>
#include <fmod.h>
#include "Asset.h"
using namespace std;

class CSound : public CAsset
{
    private:
        string          mLookupName;    // Human readable name for our sound
        string          mPath;          // Path to the actual data file
        int             mId;            // Unique Id for the sound
        FMOD_CHANNEL*   mChannel;       // Channel the sound plays on
        FMOD_SOUND*     mSound;         // FMOD sound data
        FMOD_SYSTEM*    mFmod;          // Fmod Sound System

    public:
        // Constructors
        CSound(string path);
        // Destructor
        ~CSound(void);

        // Forced implementations
        void Play();
        void Stop();

        // Other functions
        FMOD_SOUND** GetSound() { return &mSound; }
        string GetPath() { return mPath; }
        int GetId() { return mId; }
        void SetId(int id) { mId = id; }
        string GetLookUp() { return mLookupName; }
        FMOD_CHANNEL** GetChannel() { return &mChannel; }
        void Create(FMOD_SYSTEM* fmod);
};

#endif // SOUND_H_